/**
 * project：finance-manage
 * package：com.example.interfaces
 * 接口：数据库 > 操作用户表
 */

package com.example.interfaces;

import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * project：finance-manage
 * package：com.example.dataAccess
 * 数据库 > 操作用户表接口
 */

public interface UsersDAOInterface {

    /**
     * 添加用户数据
     * @param username 用户名
     * @param password 密码
     * @return 是否成功
     * @throws SQLException 数据库操作异常
     */
    boolean insert(String username, String password) throws SQLException;

    /**
     * 删除用户数据
     * @param username 用户名
     * @return 是否成功
     * @throws SQLException 数据库操作异常
     */
    boolean delete(String username) throws SQLException;

    /**
     * 更新用户密码
     * @param username 用户名
     * @param hashPassword 新密码哈希值
     * @return 是否成功
     * @throws SQLException 数据库操作异常
     */
    boolean update(String username, String hashPassword) throws SQLException;

    /**
     * 查询用户密码
     * @param username 用户名
     * @return 密码结果集
     * @throws SQLException 数据库操作异常
     */
    ResultSet selectHashPwd(String username) throws SQLException;

    /**
     * 创建用户表
     * @param tableName 表名
     * @return 是否成功
     * @throws SQLException 数据库操作异常
     */
    boolean createTable(String tableName) throws SQLException;
}
